#ifndef STATE_H
#define STATE_H

class Gladiator;

class State
{
public:

	virtual ~State(){}
	//~ deconstructor, to destroy class after it goes out of scope
	//since this is a template class, it is neccessary to destroy
	//class each time you are done using it

	virtual void Enter(Gladiator*)=0;
	//executes the state when it is enter
	//Pacman* is a pointer to the Gladiator entity

	virtual void Execute(Gladiator*)=0;
	//state's normal update function

	virtual void Exit(Gladiator*)=0;
	//executes when the state is exited

};

#endif
